package com.zh.blog.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zh.blog.dto.TalkBackDto;
import com.zh.blog.dto.TalkDto;
import com.zh.blog.model.Talk;
import com.zh.blog.vo.ConditionVO;
import com.zh.blog.vo.PageResult;
import com.zh.blog.vo.TalkVO;

import java.util.List;

/**
 * 说说服务
 * @author ZhengHao
 * Created At 2022/8/13.
 **/
public interface TalkService extends IService<Talk> {
    /**
     * 根据ID查看后台说说
     * @param talkId
     * @return
     */
    TalkBackDto getBackTalkById(Integer talkId);

    /**
     * 保存或者修改说说
     * @param talkVO
     */
    void saveOrUpdateTalk(TalkVO talkVO);

    /**
     * 看后台说说
     * @param conditionVO 条件
     * @return 说说列表结果
     */
    PageResult<TalkBackDto> listBackTalks(ConditionVO conditionVO);

    /**
     * 删除说说
     * @param talkIdList 说说ID列表
     */
    void deleteTalks(List<Integer> talkIdList);

    /**
     * 查看首页说说
     * @return 首页说说列表
     */
    List<String> listHomeTalks();

    /**
     * 获取说说列表
     * @return 说说列表
     */
    PageResult<TalkDto> listTalks();

    /**
     * 点赞说说
     * @param talkId 说说ID
     */
    void saveTalkLike(Integer talkId);

    /**
     * 根据id查看说说
     * @param talkId 说说ID
     * @return 说说信息
     */
    TalkDto getTalkById(Integer talkId);
}